package org.yanfengying.pay.domain;

import java.math.BigDecimal;
import java.util.Date;
import org.yanfengying.utils.domain.BastDomain;

/**
 * <p>
 * 支付单
 * </p>
 *
 * @author yanfengying
 * @since 2022-11-01
 */
public class Bill extends BastDomain{

    private static final long serialVersionUID = 1L;

    private Long id;
    /**
     * 交易摘要
     */
    private String digest;
    /**
     * 金额
     */
    private BigDecimal money;
    /**
     * 支付状态 0待支付1 已支付-1 取消
     */
    private Integer state;
    private Date lastPayTime;
    /**
     * 支付方式 余额 三方支付（支付宝，微信，银联）
     */
    private Integer payChannel;
    private Date createTime;
    private Date updateTime;
    /**
     * 统一支付单号
     */
    private String unionPaySn;
    /**
     * 业务类型
     */
    private String businessType;
    /**
     * 关联业务键
     */
    private Long businessKey;
    private Long userId;
    private String nickName;
    private String shopName;
    private Long shopId;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDigest() {
        return digest;
    }

    public void setDigest(String digest) {
        this.digest = digest;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getLastPayTime() {
        return lastPayTime;
    }

    public void setLastPayTime(Date lastPayTime) {
        this.lastPayTime = lastPayTime;
    }

    public Integer getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(Integer payChannel) {
        this.payChannel = payChannel;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUnionPaySn() {
        return unionPaySn;
    }

    public void setUnionPaySn(String unionPaySn) {
        this.unionPaySn = unionPaySn;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public Long getBusinessKey() {
        return businessKey;
    }

    public void setBusinessKey(Long businessKey) {
        this.businessKey = businessKey;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    @Override
    public String toString() {
        return "Bill{" +
        ", id=" + id +
        ", digest=" + digest +
        ", money=" + money +
        ", state=" + state +
        ", lastPayTime=" + lastPayTime +
        ", payChannel=" + payChannel +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", unionPaySn=" + unionPaySn +
        ", businessType=" + businessType +
        ", businessKey=" + businessKey +
        ", userId=" + userId +
        ", nickName=" + nickName +
        ", shopName=" + shopName +
        ", shopId=" + shopId +
        "}";
    }
}
